package com.sale.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sale.common.mybatis.core.page.PageQuery;
import com.sale.common.mybatis.core.page.TableDataInfo;
import com.sale.system.api.domain.dto.SysConverterManagementDto;
import com.sale.system.domain.ConverterManagement;
import com.sale.system.domain.dto.ConverterManagementDto;
import com.sale.system.domain.vo.ConverterManagementVo;
import com.sale.system.domain.vo.OrderReviewVo;
import com.sale.system.export.ConverterManagementExport;
import com.sale.system.export.ConverterManagementimportExport;

import java.sql.SQLException;
import java.util.List;

public interface ConverterManagementService extends IService<ConverterManagement> {

    /**
     * 加工商列表
     * @param converterManagementVo
     * @return
     */
    TableDataInfo<ConverterManagementDto> getList(ConverterManagementVo converterManagementVo, PageQuery pageQuery);

    /**
     * 新增加工商
     */
    boolean addConverter(ConverterManagementVo converterManagementVo) throws Exception;

    /**
     * 冻结加工商
     */
    boolean frozenSupplier(Long id);

    /**
     * 解冻加工商
     */
    boolean thawSupplier(Long id);

    /**
     * 撤销审核
     */
    boolean revokeApproval(Long id);

    /**
     * 加工商信息导出
     */
    List<ConverterManagementExport> getInfoExport(ConverterManagementVo converterManagementVo);

    /**
     * 加工商导入
     */
    String importMouldData(List<ConverterManagementimportExport> coCustomer);

    /**
     * 查看加工商
     */
    ConverterManagementDto getConverterById(Long id);

    /**
     * 删除加工商
     */
    boolean getDeleteByIds(String ids) throws Exception;

    /**
     * 提交审核
     */
    boolean reivewSubmit(Long id);

    /**
     * 修改加工商
     */
    boolean updateConverterById(ConverterManagementVo converterManagementVo) throws Exception;

    /**
     * 加工商审核
     */
    boolean converterReview(OrderReviewVo orderReviewVo) throws Exception;

    /**
     * 根据id获取详情数据（dubbo）
     */
    SysConverterManagementDto getViewById(Long id);

    /**
     * 根据编码获取详情数据（dubbo）
     */
    SysConverterManagementDto getViewByCode(String code);
}
